﻿/**
 * Peter
 * Created by: Peter Development Team
 *    http://peter.codeplex.com/
 * 
 * GNU General Public License version 2 (GPLv2)
 *    http://peter.codeplex.com/license
 *
 *  This code is provided on an AS IS basis, with no WARRANTIES,
 *  CONDITIONS or GUARANTEES of any kind.
 *
 **/

using System.IO;
using System.Windows.Input;
using Peter.Common.Events;

namespace Peter.Common.Interfaces
{
   /// <summary>
   /// Interface for a peter document that has a file associated with it.
   /// </summary>
   public interface IPeterFileDocument : IPeterDocument
   {
      /// <summary>
      /// Occurs when the file is saved.
      /// </summary>
      event FileEventHandler Saved;

      /// <summary>
      /// Occurs when the file is closed.
      /// </summary>
      event FileEventHandler Closed;

      /// <summary>
      /// Gets the file of the document.
      /// </summary>
      FileInfo FileInfo { get; }

      /// <summary>
      /// Gets the command used to copy the full path.
      /// </summary>
      ICommand CopyPathCommand { get; }

      /// <summary>
      /// Gets the open containing folder command.
      /// </summary>
      ICommand OpenFolderCommand { get; }
   }
}
